package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * EdDeclaracionesDetTmp generated by hbm2java
 */
@Entity
@Table(name = "ED_DECLARACIONES_DET_TMP", schema = "EDADEPUDOC")
public class EdDeclaracionesDetTmp implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -43561502924775852L;
	private EdDeclaracionesDetTmpId id;
	private EdDeclaraciones edDeclaraciones;
	private Double vvalor;
	private Double vvalorComputado;
	private Date fvalorFecha;
	private String svalorTexto;

	public EdDeclaracionesDetTmp() {
	}

	public EdDeclaracionesDetTmp(EdDeclaracionesDetTmpId id,
			EdDeclaraciones edDeclaraciones) {
		this.id = id;
		this.edDeclaraciones = edDeclaraciones;
	}

	public EdDeclaracionesDetTmp(EdDeclaracionesDetTmpId id,
			EdDeclaraciones edDeclaraciones, Double vvalor,
			Double vvalorComputado, Date fvalorFecha, String svalorTexto) {
		this.id = id;
		this.edDeclaraciones = edDeclaraciones;
		this.vvalor = vvalor;
		this.vvalorComputado = vvalorComputado;
		this.fvalorFecha = fvalorFecha;
		this.svalorTexto = svalorTexto;
	}

	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "cdeclaracion", column = @Column(name = "C_DECLARACION", nullable = false, precision = 18, scale = 0)),
			@AttributeOverride(name = "ccampo", column = @Column(name = "C_CAMPO", nullable = false, precision = 4, scale = 0)),
			@AttributeOverride(name = "nrenglon", column = @Column(name = "N_RENGLON", nullable = false, precision = 4, scale = 0)) })
	public EdDeclaracionesDetTmpId getId() {
		return this.id;
	}

	public void setId(EdDeclaracionesDetTmpId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_DECLARACION", nullable = false, insertable = false, updatable = false)
	public EdDeclaraciones getEdDeclaraciones() {
		return this.edDeclaraciones;
	}

	public void setEdDeclaraciones(EdDeclaraciones edDeclaraciones) {
		this.edDeclaraciones = edDeclaraciones;
	}

	@Column(name = "V_VALOR", precision = 18)
	public Double getVvalor() {
		return this.vvalor;
	}

	public void setVvalor(Double vvalor) {
		this.vvalor = vvalor;
	}

	@Column(name = "V_VALOR_COMPUTADO", precision = 18)
	public Double getVvalorComputado() {
		return this.vvalorComputado;
	}

	public void setVvalorComputado(Double vvalorComputado) {
		this.vvalorComputado = vvalorComputado;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_VALOR_FECHA", length = 7)
	public Date getFvalorFecha() {
		return this.fvalorFecha;
	}

	public void setFvalorFecha(Date fvalorFecha) {
		this.fvalorFecha = fvalorFecha;
	}

	@Column(name = "S_VALOR_TEXTO", length = 4000)
	public String getSvalorTexto() {
		return this.svalorTexto;
	}

	public void setSvalorTexto(String svalorTexto) {
		this.svalorTexto = svalorTexto;
	}

	@Override
	public boolean equals(Object obj) {
		if (obj instanceof EdDeclaracionesDetTmp) {
			EdDeclaracionesDetTmp other = (EdDeclaracionesDetTmp) obj;
			if (this.getId().equals(other.getId())) {
				if ((this.getSvalorTexto() == null && other.getSvalorTexto() == null) || this.getSvalorTexto().equals(other.getSvalorTexto())) {
					if ((this.getVvalor() == null && other.getVvalor() == null) || this.getVvalor().equals(other.getVvalor())) {
						if ((this.getFvalorFecha() == null && other.getFvalorFecha() == null) || this.getFvalorFecha().equals(other.getFvalorFecha())) {
							return true;
						}
					}
				}
			}
		}
		return false;
	}
	
	
}
